package com.kunteng.ynhxksh.mapper;

import com.kunteng.ynhxksh.entity.T_POS_JYXX;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface T_POS_JYXXMapper {

    int deleteByPrimaryKey(String jylsh);

    int insert(T_POS_JYXX record);

    T_POS_JYXX selectByPrimaryKey(String jylsh);

    List<T_POS_JYXX> selectAll();

    int updateByPrimaryKey(T_POS_JYXX record);

    /**
     * 查询某日交易信息，按半小时统计
     *
     * @param dateStr
     * @return
     */
    List<Map> queryJYZSByDate(String dateStr);

    /**
     * 查询某日开票信息，按小时统计
     *
     * @param dateStr
     * @return
     */
    List<Map> queryKPZSByDate(String dateStr);

    /**
     * 查询某日交易量+交易额
     *
     * @param dateStr
     * @return
     */
    List<Map> queryJYByDate(String dateStr);

    /**
     * 查询某日开票量+开票额
     *
     * @param dateStr
     * @return
     */
    List<Map> queryKPByDate(String dateStr);

    /**
     * 查询最近的10条开票额大于1000的数据记录
     *
     * @return
     */
    List<Map> queryLastKPEmoreThan1000();

    /**
     * 将某日交易按地区分组统计--交易额+交易量
     *
     * @param dateStr
     * @return
     */
    List<Map> queryJYByXZQHAndDate(String dateStr);

    /**
     * 按地区统计交易额信息
     *
     * @return
     */
    List<Map> queryJYByXZQH();

    /**
     * 按行业统计交易信息
     *
     * @return
     */
    List<Map> queryJYByHY();

    /**
     * 查询总交易额
     *
     * @return
     */
    List<Map> queryTotalJYE();

    /**
     * 查询某日交易额Top N的商户
     *
     * @param dateStr
     * @param N       列表个数
     * @return
     */
    List<Map> queryJYETopN(@Param("dateStr") String dateStr, @Param("top") Integer N);

    /**
     * 查询某日开票额Top N的商户
     *
     * @param dateStr
     * @param N       列表个数
     * @return
     */
    List<Map> queryKPETopN(@Param("dateStr") String dateStr, @Param("top") Integer N);


    /**
     * 统计某日 有交易的商户数量
     *
     * @param date yyyy-MM-dd
     * @return
     */
    int findByDrjyShopnum(String date);

    List<Map> getDayJYJE(String date);

    List<Map> getTimeInfo();

    /**
     * 统计某日 每个商户的交易总额
     *
     * @param date yyyy-MM-dd
     * @return
     */
    List<Map> findByDateJYJES(String date);
}